// pages/index/searchSchool/searchSchool.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    navTop: getApp().globalData.navTop,
    imgUrl: getApp().globalData.imageUrl,
    // 搜索接口参数
    pageNo: 1,
    pageSize: 6,
    keyword: '',
    total: null,
    // 学校列表数据
    schoolList: [],
    // 是否为最后一页
    isLastPage: false,
    // 触底等待
    loading: false,
    // 将搜索记录放入本地缓存中
    schoolHistory: [],
    // 获取本地缓存
    schoolLocal: [],
    // 历史记录显示
    apperHistory: true
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    this.getLocalSchool()
  },

  // 获取当地学校缓存
  getLocalSchool() {
    const school_List = getApp().Storage.get('schoolName')
    // 深拷贝
    const schoolList = school_List.concat()
    // console.log(schoolList)
    if (schoolList) {
      this.setData({
        schoolHistory: school_List,
        schoolLocal: schoolList.reverse(),
      })
    }
  },

  // 清空缓存
  clearHistory() {
    getApp().Storage.remove('schoolName')
    this.setData({
      schoolLocal: [],
    })
  },
  // 获取搜索框的内容
  getSchoolName(e) {
    // 防止重复学校出现
    if (this.data.schoolHistory.indexOf(e.detail) === -1) {
      this.setData({
        schoolHistory: [...this.data.schoolHistory, e.detail]
      })
    }
    // console.log(e)
    this.setData({
      apperHistory: false,
      keyword: e.detail,
      pageNo: 1,
      schoolList: [],
      total: null,
      isLastPage: false,
    })
    this.searchSchool()
    // 是否输入为空
    // if (this.data.keyword) {
    //   this.searchSchool()
    // } else {
    //   wx.showToast({
    //     title: '请输入学校',
    //     icon: 'error'
    //   })
    // }
    getApp().Storage.set('schoolName', this.data.schoolHistory)
    // const schoolList = getApp().Storage.get('schoolName')
    // this.setData({
    //   schoolLocal: schoolList
    // })
  },
  // 搜索学校的接口
  async searchSchool() {
    wx.showLoading({
      title: '在寻找学校中',
    })
    this.setData({
      loading: true
    })
    const res = await getApp().requestWithToken.get(`/campus/search?pageNo=${this.data.pageNo}&pageSize=${this.data.pageSize}&keyword=${this.data.keyword}`)
    console.log(res)
    if (res.code === 200) {
      wx.hideLoading()
      this.setData({
        total: res.data.total,
        schoolList: [...this.data.schoolList, ...res.data.list],
        isLastPage: res.data.isLastPage,
        loading: false
      })
      // getApp().Storage.set('')
    } else {
      wx.showToast({
        title: '暂无此学校',
        icon: "error"
      })
    }
  },

  // 触底事件
  getNewSchool() {
    if (this.data.isLastPage) {
      wx.showToast({
        title: '已经到底了！！！',
        icon: "none"
      })
      return false
    }
    if (this.data.loading) {
      // this.searchSchool()
      return false
    }
    if (!this.data.keyword) {
      return false
    }
    this.setData({
      pageNo: this.data.pageNo + 1
    })
    this.searchSchool()
  },
  // 点击历史记录
  clickHistory(e) {
    console.log(e)
    this.setData({
      keyword: e.currentTarget.dataset.name
    })
    this.setData({
      apperHistory: false
    })
    this.searchSchool()
  },
  // 导航去首页
  navToIndex(e) {
    console.log(e)
    wx.navigateTo({
      url: `/pages/index/index?id=${e.currentTarget.dataset.id}`,
    })
  },
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})